//求中值
#include<iostream>
#include<iomanip>
using namespace std;
float findmiddle(int *a,int *n)
{
	for(int i=0;i<*n-1;i++)
	{
		for (int j = 0; j < *n - i - 1; j++) 
		{
            if (a[j] > a[j + 1]) 
			{
                int temp = a[j];
                a[j] = a[j + 1];
                a[j + 1] = temp;
            }
        }
	}
	if(*n%2==1)
	return a[*n/2];
	else
	return (a[*n/2]+a[*n/2-1])/2.0f;
}
int main()
{
	int n;
	cout<<"请输入数组中数个数：";
	cin >> n;
	int *a= new int[n];
	cout<<"请输入数字：";
	for(int i=0;i<n;i++)
	cin >> a[i];
	float middle=findmiddle(a,&n);
	cout << fixed <<setprecision(2);
	cout <<"数组中值："<<middle;
	return 0;
}
//测试样例及结果
/*第一次奇长度
样例：5
	  3 1 4 2 5
结果：3.00
 第二次偶长度
样例：4
	  3 1 4 2
结果：2.50
  第三次含有负数
样例：6
	  -3 0 -5 7 2 -1
结果：-0.50
  第四次含有负数
样例：5
	  2 2 5 2 5
结果：2.00
  第五次验证大小数
样例：3
	 2147483647 -2147483648 0
结果：0.00
*/